/**
 * @(#)Kategorie.java
 * 1.0, 2013-01-24
 */
package de.hdm.gruppenkalender.team04.data;

import java.rmi.Remote;
import java.rmi.RemoteException;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.367806BB-9AF4-500C-97D0-EB72D8EC3DA2]
// </editor-fold>
/**
 * Schnittstellenspezifikation einer Kategorie.
 *
 * @author Mathias Bendel (mb167)
 * @author Björn Fichnter (bf023)
 * @author Stefan Hettich (sh176)
 * @author René Kugel (rk044)
 * @author Mark Leonberger (ml072)
 * @author Marta Przybylski (mp070)
 *
 * @version 1.0, 2013-01-24
 *
 * @see KategorieImpl
 */
public interface Kategorie extends Remote {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C6FBC58E-E513-F110-4685-F9AC4C0F75A5]
    // </editor-fold> 
    /**
     * Gibt die ID der {@link Kategorie} zurück.
     *
     * @return  int             kategorieId
     * @throws  RemoteException
     */
    public int getKategorieId() throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.42F7B810-3BFE-82F7-202C-1D45710DC359]
    // </editor-fold> 
    /**
     * Setzt eine neue {@link Kategorie}-ID.
     *
     * @param   kategorieId
     * @throws  RemoteException
     */
    public void setKategorieId(int kategorieId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9535B9B2-395C-B4B7-AB38-337B977A5E25]
    // </editor-fold> 
    /**
     * Gibt den {@link Kategorie}-Namen zurück.
     *
     * @return  String          name
     * @throws  RemoteException
     */
    public String getName() throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.03BBC350-D371-FF1C-C375-CDCA60BD649A]
    // </editor-fold> 
    /**
     * Setzt einen neuen {@link Kategorie}-Namen.
     *
     * @param   name
     * @throws  RemoteException
     */
    public void setName(String name) throws RemoteException;

    /**
     * Gibt einen eindeutigen Identifikations-String zu Anzeige in der GUI zurück.
     *
     * @return  String          IdentifikationsName
     * @throws  RemoteException
     */
    public String ermittleIdentifikationsName() throws RemoteException;
}
